function GameObject(){

	var display = new DisplayObject(this);
	var actions = new ActionsObject(this);
	var helps = new HelpsObject(this);
	var config = new ConfigObject(this);
	var utilities = new UtilitiesObject(this);
	var crewMembers = new CrewMembersObject(this);
	var commodities = new CommoditiesObject(this);
	var ships = new ShipsObject(this);

	this.statuses = new StatusesObject(this);//has game data
	this.islands = new IslandsObject(this);//has game data
	this.avatar = new AvatarObject(this);//has game data
	
	this.canResume = function(){return((this.getStatuses().getCurrent()=="mainMenu")&&(this.getStatuses().getStackSize()>0));};
	this.canSave = function(){return this.canResume();};
	this.canLoad = function(){return true;};
	this.mustConfirmLoad = function(){return this.canResume();};
	this.canStart = function(){return true;};
	this.mustConfirmStart = function(){return this.canResume();};
	this.canQuit = function(){return this.canResume();};
	this.mustConfirmQuit = function(){return this.canResume();};
	
	this.getGameData = function(){
		var data = {};
		data.statuses = this.getStatuses().getGameData();
		data.avatar = this.getAvatar().getGameData();
		data.islands = this.getIslands().getGameData();
		return data;
	};
	this.setGameData = function(data){
		this.getStatuses().setGameData(data.statuses);
		this.getAvatar().setGameData(data.avatar);
		this.getIslands().setGameData(data.islands);
	};
	
	
	this.getCrewMembers = function(){
		return crewMembers;
	};
	this.getDisplay = function(){
		return display;
	};
	this.getActions = function(){
		return actions;
	};
	this.getHelps = function(){
		return helps;
	};
	this.getConfig = function(){
		return config;
	};
	this.getUtilities = function(){
		return utilities;
	};
	this.getCommodities = function(){
		return commodities;
	};
	this.getShips = function(){
		return ships;
	};
	this.getStatuses = function(){
		return this.statuses;
	};
	this.getIslands = function(){
		return this.islands;
	};
	this.getAvatar = function(){
		return this.avatar;
	};
	this.clear = function(){
		this.getStatuses().clear();
	};
	this.start = function(){
		this.clear();
		this.getIslands().generate();
		this.getAvatar().generate();
		this.getStatuses().show("docked");
	};
}
var Game = new GameObject();